/**************************************************************************
 * @doc SCAPI
 * @module GPM.H - Header code for GPM card communication functions.|  
 * Header code for GPM card communication functions.
 *
 * Product     :   SoftPay 2000 (Global Payment Methodology).
 * <nl>Developer   :   SoftPay Development Team (I_SP2000).
 * <nl>Notes       :
 *
 * @head3 SCAPI Functions |
 * @index | GPM
 * @end
 *
 * Copyright (c) 1996-2000 by VeriFone Inc. All rights reserved.
 * 
 * No part of this software may be used, stored, compiled, reproduced,
 * modified, transcribed, translated, transmitted, or transferred, in any form 
 * or by any means whether electronic, mechanical, magnetic, optical, 
 * or otherwise, without the express prior written permission of VeriFone, Inc.
 *
 * Revision History
 * ------------------------------------------------------------------------
 $Log: /SoftPay/SPK2SIM/Source/Scapi/gpm.h $
 * 
 * 2     12/30/99 5:13p Sadiq_m1
 * 
 * 3     11/09/99 10:07p Sadiq_m1
 * 
 * 2     11/04/99 10:11p Sadiq_m1
 *
 * 1     10/31/99  8:45p Sadiq_m1    Initial version   
 * ------------------------------------------------------------------------
 ********************************************************************************/
#ifndef GPM_H
#define GPM_H

int inSCGPMReadArea(unsigned char ucArea, unsigned char *pucDst,
                    unsigned char ucSize);

int inSCGPMWriteArea(unsigned char ucArea, unsigned char *pucSrc, int inSize);

int inSCGPMEraseArea(unsigned char ucArea, unsigned char *pucEraseCode);


int inSCGPMReadMem(unsigned char ucStartWord, unsigned char ucLength,
                   unsigned char *pucDstBuf, unsigned char ucDstBufSize);

int inSCGPMWriteMem(unsigned char ucWordNumber, unsigned char *pucSrc, unsigned char ucSize);

int inSCGPMEraseMem(unsigned char ucWordNumber, unsigned char ucSize);


int inSCGPMWriteCSC(unsigned char ucGPMCardType, unsigned char ucEncType,
                    unsigned char *pucCSC, unsigned char ucSize);

int inSCGPMPresentCSC(unsigned char ucGPMCardType, unsigned char ucEncType,
                     unsigned char *pucCSC, unsigned char ucSize);

int inSCGPMEnablePersonalisation(void);


#endif /* GPM_H */
